package com.ruoyi.wms.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 出库单管理对象 wms_stock_out
 * 
 * @author ruoyi
 * @date 2022-03-17
 */
public class WmsStockOut extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String stockOutUuid;

    /** 出库类型 */
    @Excel(name = "出库类型")
    private String wmsDictStockOutType;

    /** 关联表id */
    private String fkUuid;

    /** 仓库id */
    @Excel(name = "仓库id")
    private String fkStockUuid;

    /** 仓位id */
    @Excel(name = "仓位id")
    private String fkStockPosUuid;

    /** 单据编号 */
    @Excel(name = "单据编号")
    private String docNum;

    /** 单据标题 */
    @Excel(name = "单据标题")
    private String docTitle;

    /** 单据时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "单据时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date docDt;

    /** 经办人 */
    @Excel(name = "经办人")
    private Long fkAttentionUserId;

    /** 审核人（用户表ID） */
    @Excel(name = "审核人", readConverterExp = "用=户表ID")
    private String fkConfirmUserId;

    /** 备注 */
    @Excel(name = "备注")
    private String docNote;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmDt;

    /** 审核状态（字典表） */
    @Excel(name = "审核状态", readConverterExp = "字=典表")
    private String oaDictConfirmStatus;

    /** 审核意见 */
    @Excel(name = "审核意见")
    private String confirmNote;

    /** 供应商 */
    @Excel(name = "供应商")
    private Long fkUserId;

    /** 部门ID */
    @Excel(name = "部门ID")
    private Long fkDeptId;

    private String stockName;
    private String stockPosName;
    private String itemName;
    private String itemNum;
    private String itemSpecification;
    private String wmsDictMeasuringUnitDetail;
    private String detailStockOutQty;
    private String nickName;
    private String dispatchDocNum;
    private String dispatchDocDt;
    private String fkDispatchUuid;


    /* - - - - - - - - - - - setters getters - - - - - - - - - - - */

    public String getFkDispatchUuid() {
        return fkDispatchUuid;
    }

    public void setFkDispatchUuid(String fkDispatchUuid) {
        this.fkDispatchUuid = fkDispatchUuid;
    }

    public String getFkUuid() {
        return fkUuid;
    }

    public void setFkUuid(String fkUuid) {
        this.fkUuid = fkUuid;
    }

    public String getDispatchDocNum() {
        return dispatchDocNum;
    }

    public void setDispatchDocNum(String dispatchDocNum) {
        this.dispatchDocNum = dispatchDocNum;
    }

    public String getDispatchDocDt() {
        return dispatchDocDt;
    }

    public void setDispatchDocDt(String dispatchDocDt) {
        this.dispatchDocDt = dispatchDocDt;
    }

    public String getStockName() {
        return stockName;
    }

    public void setStockName(String stockName) {
        this.stockName = stockName;
    }

    public String getStockPosName() {
        return stockPosName;
    }

    public void setStockPosName(String stockPosName) {
        this.stockPosName = stockPosName;
    }

    @Override
    public String getItemName() {
        return itemName;
    }

    @Override
    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    @Override
    public String getItemNum() {
        return itemNum;
    }

    @Override
    public void setItemNum(String itemNum) {
        this.itemNum = itemNum;
    }

    public String getItemSpecification() {
        return itemSpecification;
    }

    public void setItemSpecification(String itemSpecification) {
        this.itemSpecification = itemSpecification;
    }

    public String getWmsDictMeasuringUnitDetail() {
        return wmsDictMeasuringUnitDetail;
    }

    public void setWmsDictMeasuringUnitDetail(String wmsDictMeasuringUnitDetail) {
        this.wmsDictMeasuringUnitDetail = wmsDictMeasuringUnitDetail;
    }

    public String getDetailStockOutQty() {
        return detailStockOutQty;
    }

    public void setDetailStockOutQty(String detailStockOutQty) {
        this.detailStockOutQty = detailStockOutQty;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    /** 出库单明细信息 */
    private List<WmsStockOutDetails> wmsStockOutDetailsList;

    public void setStockOutUuid(String stockOutUuid) 
    {
        this.stockOutUuid = stockOutUuid;
    }

    public String getStockOutUuid() 
    {
        return stockOutUuid;
    }
    public void setWmsDictStockOutType(String wmsDictStockOutType) 
    {
        this.wmsDictStockOutType = wmsDictStockOutType;
    }

    public String getWmsDictStockOutType() 
    {
        return wmsDictStockOutType;
    }
    public void setFkStockUuid(String fkStockUuid) 
    {
        this.fkStockUuid = fkStockUuid;
    }

    public String getFkStockUuid() 
    {
        return fkStockUuid;
    }
    public void setFkStockPosUuid(String fkStockPosUuid) 
    {
        this.fkStockPosUuid = fkStockPosUuid;
    }

    public String getFkStockPosUuid() 
    {
        return fkStockPosUuid;
    }
    public void setDocNum(String docNum) 
    {
        this.docNum = docNum;
    }

    public String getDocNum() 
    {
        return docNum;
    }
    public void setDocTitle(String docTitle) 
    {
        this.docTitle = docTitle;
    }

    public String getDocTitle() 
    {
        return docTitle;
    }
    public void setDocDt(Date docDt) 
    {
        this.docDt = docDt;
    }

    public Date getDocDt() 
    {
        return docDt;
    }
    public void setFkAttentionUserId(Long fkAttentionUserId) 
    {
        this.fkAttentionUserId = fkAttentionUserId;
    }

    public Long getFkAttentionUserId() 
    {
        return fkAttentionUserId;
    }
    public void setFkConfirmUserId(String fkConfirmUserId) 
    {
        this.fkConfirmUserId = fkConfirmUserId;
    }

    public String getFkConfirmUserId() 
    {
        return fkConfirmUserId;
    }
    public void setDocNote(String docNote) 
    {
        this.docNote = docNote;
    }

    public String getDocNote() 
    {
        return docNote;
    }
    public void setConfirmDt(Date confirmDt) 
    {
        this.confirmDt = confirmDt;
    }

    public Date getConfirmDt() 
    {
        return confirmDt;
    }
    public void setOaDictConfirmStatus(String oaDictConfirmStatus) 
    {
        this.oaDictConfirmStatus = oaDictConfirmStatus;
    }

    public String getOaDictConfirmStatus() 
    {
        return oaDictConfirmStatus;
    }
    public void setConfirmNote(String confirmNote) 
    {
        this.confirmNote = confirmNote;
    }

    public String getConfirmNote() 
    {
        return confirmNote;
    }
    public void setFkUserId(Long fkUserId) 
    {
        this.fkUserId = fkUserId;
    }

    public Long getFkUserId() 
    {
        return fkUserId;
    }
    public void setFkDeptId(Long fkDeptId) 
    {
        this.fkDeptId = fkDeptId;
    }

    public Long getFkDeptId() 
    {
        return fkDeptId;
    }

    public List<WmsStockOutDetails> getWmsStockOutDetailsList()
    {
        return wmsStockOutDetailsList;
    }

    public void setWmsStockOutDetailsList(List<WmsStockOutDetails> wmsStockOutDetailsList)
    {
        this.wmsStockOutDetailsList = wmsStockOutDetailsList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("stockOutUuid", getStockOutUuid())
            .append("wmsDictStockOutType", getWmsDictStockOutType())
            .append("fkStockUuid", getFkStockUuid())
            .append("fkStockPosUuid", getFkStockPosUuid())
            .append("docNum", getDocNum())
            .append("docTitle", getDocTitle())
            .append("docDt", getDocDt())
            .append("fkAttentionUserId", getFkAttentionUserId())
            .append("fkConfirmUserId", getFkConfirmUserId())
            .append("docNote", getDocNote())
            .append("confirmDt", getConfirmDt())
            .append("oaDictConfirmStatus", getOaDictConfirmStatus())
            .append("confirmNote", getConfirmNote())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("fkUserId", getFkUserId())
            .append("fkDeptId", getFkDeptId())
            .append("wmsStockOutDetailsList", getWmsStockOutDetailsList())
            .toString();
    }
}
